// kuoqi/tools/navigationBar.js
const app = getApp();
Component({
  
  /**
   * 组件的属性列表
   */
  properties: {
    //头部的背景颜色信息
    backgroundColor:{
      type: String, // 类型（必填），目前接受的类型包括：String, Number, Boolean, Object, Array, null（表示任意类型）
      value: '', // 属性初始值（可选），如果未指定则会根据类型选择一个
      observer: function (newVal, oldVal) { 
        this.setData({
          backgroundColor:newVal
        })
      } // 属性被改变时执行的函数（可选），也可以写成在methods段中定义的方法名字符串, 如：'_propertyChange'
    },
    //是否显示当前头部部门
    navShow:{
      type: Number, // 类型（必填），目前接受的类型包括：String, Number, Boolean, Object, Array, null（表示任意类型）
      value: true, // 属性初始值（可选），如果未指定则会根据类型选择一个
      observer: function (newVal, oldVal) { 
        // newVal = parseInt(newVal);
        // this.setData({
        //   isShow:newVal
        // })
      } // 属性被改变时执行的函数（可选），也可以写成在methods段中定义的方法名字符串, 如：'_propertyChange'
    },
    //设置标题
    title:{
      type: String, // 类型（必填），目前接受的类型包括：String, Number, Boolean, Object, Array, null（表示任意类型）
      value: true, // 属性初始值（可选），如果未指定则会根据类型选择一个
      observer: function (newVal, oldVal) { 
        // this.setData({
        //   title:newVal
        // })
      } // 属性被改变时执行的函数（可选），也可以写成在methods段中定义的方法名字符串, 如：'_propertyChange'
    },
  },

  /**
   * 组件的初始数据
   */
  data: {
    //knavbarHeight:0,
    custom :{},//胶囊相关信息
    //backgroundColor:'',//背景颜色
    //isShow:1,//是否显示头部信息
    showBack:1,//实现返回按钮
  },

    /**
   * 组件生命周期函数-在组件实例刚刚被创建时执行，注意此时不能调用 setData
   */
  created:function(){
    if(!app.globalData.navbar.height){
       // app.globalData.knavbar = {};
      // let systemInfo = wx.getSystemInfoSync();
      // app.globalData.knavbar.pdtop = systemInfo.statusBarHeight;//状态bar的装改开始的高度
      // //判定刘海
      // if (wx.getMenuButtonBoundingClientRect) {
      //   let custom = wx.getMenuButtonBoundingClientRect();
      //   app.globalData.knavbar.left = systemInfo.screenWidth - custom.right;
      //   app.globalData.knavbar.height = custom.bottom + custom.top - app.globalData.knavbar.pdtop + app.globalData.knavbar.left / 2;
      //   //配置页面显示区域
      // }
      wx.showModal({
        content:'navigation配置错误，请更新配置再使用',
        cancelColor: 'cancelColor',
      });
      return;
    }
    wx.setNavigationBarColor({
      //前景颜色值，包括按钮、标题、状态栏的颜色，仅支持 #ffffff 和 #000000
      frontColor: '#ffffff',
      //	backgroundColor	string		是	背景颜色值，有效值为十六进制颜色
      //backgroundColor: '#000000',
      backgroundColor:'auto',
    })
  },
  lifetimes: {
    attached: function() {
      // 在组件实例进入页面节点树时执行
      let custom = wx.getMenuButtonBoundingClientRect();
      this.setData({
        custom:custom,//胶囊相关信息
        navbar:app.globalData.navbar,
      });
    },
    detached: function() {
      // 在组件实例被从页面节点树移除时执行
    },
  },
  /**
   * 组件生命周期函数-在组件实例进入页面节点树时执行)
   * 以下是旧式的定义方式，可以保持对 <2.2.3 版本基础库的兼容
   */
  attached:function(){
    let custom = wx.getMenuButtonBoundingClientRect();
    this.setData({
      knavbar:app.globalData.navbar,
      custom:custom,//胶囊相关信息
    });
  },

  pageLifetimes: {
    show: function() {
      // 页面被展示
      var pages = getCurrentPages();
      var focuspage = pages[pages.length - 1];
      //focuspage.data.knavbar = this.data;//直接配置的方式不会触发内容更改
      //判断当前页面是否为第一张页面
      if(pages.length==1){
        this.setData({showBack:0});
      }
    },
    hide: function() {
      // 页面被隐藏
    },
    resize: function(size) {
      // 页面尺寸变化
    }
  },
  /**
   * 组件的方法列表
   */
  methods: {
    _doGoback:function(){
      //判定是否第一个页面
      wx.navigateBack({
        delta: 0,
      })
    },
  }
})
